package com.gitee.chili.leisure.util;

import java.util.Timer;

/**
 * 定时任务调度器
 *
 * @author week solider
 * @since 2020.09.11
 */
public final class TaskScheduler {

    /**
     * 提交定时任务
     *
     * 使用策略模式的方式来执行定时任务，一般情况下我们不需要参数与返回值，只需要关注任务执行了与否
     *
     * @param function 处理函数
     * @param delay    多少秒后执行
     *
     * @see Function 任务函数
     */
    public static Timer submit(Function function, int delay) {
        Timer timer = new Timer();
        timer.schedule(new DefaultTimerTask(function), delay * 1000);
        return timer;
    }

}
